Блог им. Wolffrr |OSAEngine сравнил скорости API брокеров: Alor vs Tinkoff

    • 30 августа 2024, 17:50
    • |
    • Gambler
  • Еще

В мире алгоритмической торговли и высокочастотных операций скорость получения данных играет критическую роль. Хотя выбор брокера зависит от множества факторов, включая тарифы, удобство использования платформы и набор инструментов, для определенной категории трейдеров и разработчиков торговых систем скорость обновления стакана котировок может быть решающим фактором.

OSAEngine сравнил скорости API брокеров: Alor vs Tinkoff

Исследование скорости API

Я провел сравнительное исследование скорости работы API двух популярных брокеров: Alor и Tinkoff. Целью было определить, какой из них обеспечивает более быстрое обновление данных стакана котировок.

Методология

Исследование проводилось с использованием открытых протоколов API обоих брокеров. Это важно отметить, так как открытые протоколы представляют собой передовые технологии в области биржевой торговли, обеспечивая максимальную скорость и эффективность передачи данных.

Для каждого API был разработан клиент, который подключался к серверам брокера, подписывался на обновления стакана и регистрировал время получения каждого обновления. Мониторинг проводился в течение 30 секунд, что позволило получить репрезентативную выборку данных.



( Читать дальше )
  • обсудить на форуме:
  • OsEngine

Блог им. Wolffrr |Какие Open-Source решения используются в вашей торговле?

    • 05 августа 2024, 14:24
    • |
    • Gambler
  • Еще

Какие Open-Source решения используются в вашей торговле?

QuantConnect
StockSharp
BackTrader
CCXT
QuantLib
Zipline
QUIKSharp
Nautilus Trader
QuikPy
Всего проголосовало: 5

Привет, уважаемые коллеги-товарищи-сениоры по торговле!

Я тут решил немного пошпионить… тьфу, поспрашивать у вас: какие open-source платформы для торговли вы используете? Вот список некоторых популярных решений, которые я ранее у себя разместил https://osaengine.ru , но хочу это расширять и делать каталог мясистее, на правах единственного писеталя на этом сайте, который объективно пишет про алгоритмическую торговлю )). Если у вас есть что-то еще интересное, не стесняйтесь делиться! Вот что я сам нашёл, но давайте его расширим.


А теперь несколько вопросов для вас:

  1. Какие из этих решений вы используете?
  2. Что бы вы добавили в этот список?
  3. Какой ваш любимый инструмент и почему?
  4. Есть ли какие-нибудь скрытые жемчужины, которые стоит попробовать?
Давайте обменяемся знаниями и сделаем нашу торговлю еще эффективнее! Заранее спасибо за ваши ответы и советы.

Блог им. Wolffrr |Создание Торговых Стратегий с Помощью ИИ: Легче, Чем Печь Блины

Алгоритм субботняшний

0) Посетить мой сайт https://osaengine.ru/ ))

1) Зайти на chatgpt.com/

2) Написать вопрос

Создание Торговых Стратегий с Помощью ИИ: Легче, Чем Печь Блины

3) Получить ответ

-- Настройки
SEC_CODE = "SBER" -- Код инструмента
CLASS_CODE = "TQBR" -- Код класса инструмента
SHORT_MA_PERIOD = 10 -- Период короткой скользящей средней
LONG_MA_PERIOD = 50 -- Период длинной скользящей средней
QTY = 1 -- Количество лотов

-- Переменные
short_ma = {}
long_ma = {}
prices = {}
position = 0 -- Текущая позиция: 0 - нет позиции, 1 - лонг, -1 - шорт

-- Функция для расчета скользящей средней
function calculate_ma(prices, period)
    local sum = 0
    for i = #prices-period+1, #prices do
        sum = sum + prices[i]
    end
    return sum / period
end

-- Функция для обработки новых тиков
function OnAllTrade(alltrade)
    if alltrade.sec_code == SEC_CODE and alltrade.class_code == CLASS_CODE then
        table.insert(prices, alltrade.price)
        if #prices >= LONG_MA_PERIOD then
            table.


( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Блог им. Wolffrr |Алгопак - пример работы с вебсокетами на C#

Сделал простенький пример-код как работать с веб сокетами АлгоПака.

Работа в действии выглядит так:

Алгопак - пример работы с вебсокетами на C#

Пример кода

Класс для работы с WebSocket

<code>namespace OsaEngine.MoexAlgoPack;

using System;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Net.WebSockets;

public class MoexAlgoPackSocketClient(string url) : IAsyncDisposable
{
    private readonly Uri _uri = new(url);
    private readonly ClientWebSocket _clientWebSocket = new();

    public async ValueTask ConnectAsync(string domain = "DEMO", string login = "guest", string passcode = "guest", CancellationToken cancellationToken = default)
    {
        await _clientWebSocket.ConnectAsync(_uri, cancellationToken);
        await SendAsync($"CONNECT\ndomain:{domain}\nlogin:{login}\npasscode:{passcode}\n\n\0", cancellationToken);
    }

    public ValueTask SubscribeAsync(object id, string destination, string selector, CancellationToken cancellationToken = default)
    {
        return SendAsync($"SUBSCRIBE\nid:{id}\ndestination:{destination}\nselector:{selector}\n\n\0", cancellationToken);
    }

    public async ValueTask SendAsync(string message, CancellationToken cancellationToken = default)
    {
        var messageBytes = Encoding.


( Читать дальше )

....все тэги
UPDONW
Новый дизайн